package com.ruoyi.sale.service;

import com.ruoyi.common.core.domain.ProductCates;
import com.ruoyi.common.core.domain.ShipmentStatus;
import com.ruoyi.common.core.domain.TreeSelect;

import java.util.List;

/**
 * 计划状态Service接口
 * 
 * @author ruoyi
 * @date 2023-10-13
 */
public interface IShipmentStatusService 
{
    /**
     * 查询计划状态
     * 
     * @param id 计划状态主键
     * @return 计划状态
     */
    public ShipmentStatus selectShipmentStatusById(Long id);

    /**
     * 查询计划状态列表
     * 
     * @param shipmentStatus 计划状态
     * @return 计划状态集合
     */
    public List<ShipmentStatus> selectShipmentStatusList(ShipmentStatus shipmentStatus);

    /**
     * 查询计划状态树结构信息
     * @param shipmentStatus 计划状态信息
     * @return 计划状态树信息集合
     */
    public List<TreeSelect> selectShipmentStatusTreeList(ShipmentStatus shipmentStatus);

    /**
     * 构建前端所需要树结构
     *
     * @param shipmentStatusList 计划状态列表
     * @return 树结构列表
     */
    public List<ShipmentStatus> buildShipmentStatusTree(List<ShipmentStatus> shipmentStatusList);

    /**
     * 构建前端所需要下拉树结构
     *
     * @param shipmentStatusList 计划状态列表
     * @return 下拉树结构列表
     */
    public List<TreeSelect> buildShipmentStatusTreeSelect(List<ShipmentStatus> shipmentStatusList);


}
